package com.littcore.saap.core.module.template;

import java.io.File;
import java.io.IOException;

import com.littcore.util.StringUtils;

import freemarker.cache.FileTemplateLoader;


/**
 * 扩展freemarker的FileTemplateLoader，支持后缀名过滤.
 * 
 * <pre><b>描述：</b>
 *    
 * </pre>
 * 
 * <pre><b>修改记录：</b>
 *    
 * </pre>
 * 
 * @author <a href="mailto:littcai@hotmail.com">蔡源</a>
 * @since 2015年10月23日
 * @version 1.0
 */
public class FileExtTemplateLoader extends FileTemplateLoader {

  private String ext; 
  
  public FileExtTemplateLoader(File baseDir, String ext) throws IOException
  {
    super(baseDir);   
    this.ext = ext;
  }

  /* (non-Javadoc)
   * @see freemarker.cache.FileTemplateLoader#findTemplateSource(java.lang.String)
   */
  @Override
  public Object findTemplateSource(String name) throws IOException
  {
    if(ext!=null && StringUtils.endsWithIgnoreCase(name, ext))
      return super.findTemplateSource(name);
    else 
      return null;
  }

}
